#ifndef __PRECOMPILE_H__
#define __PRECOMPILE_H__

#define BOOLEAN int

#ifdef __KERNEL_MODULE__
	
	#define TRUE (1)
	#define FALSE (0)
	
	#include <linux/module.h>
	#include <linux/types.h>
	#include <linux/fs.h>
	#include <linux/errno.h>
	#include <linux/vmalloc.h>
	#include <linux/mm.h>
	#include <linux/sched.h>
	#include <linux/init.h>
	#include <linux/cdev.h>
	#include <linux/wait.h>
	#include <asm/io.h>
	// -- #include <asm/system.h>
	#include <asm/uaccess.h>
	#include <asm/atomic.h>
	#include <linux/spinlock.h>
	#include <linux/time.h>
	#include <linux/slab.h>

#else
	
	#define CONFIG_SMP
	// -- #error hello world
	#include <stdlib.h>                                                                                         
	#include <stdio.h>                                                                                          
	#include <sys/types.h>                                                                                                                                                                    
	#include <unistd.h>                                                                                  
	#include "atomic_port.h"
	#ifndef __USE_GNU                                                                                                           
	#define __USE_GNU
	#endif
	
	#ifdef __USE_GNU

	#ifndef __SOLARIS__
	// -- #include <xlocale.h>
	#endif

	#endif
					
	#include <sched.h>   
	#include <sys/time.h>
	#include <ctype.h>                                                                                          
	#include <stdio.h>
	#include <string.h>
	#include <strings.h>
	#include <sys/types.h>
	#include <sys/stat.h>
	#include <fcntl.h>

	#ifdef __LINUX__
	#include <linux/if_ether.h>
	#endif

	#include <arpa/inet.h>
	#include <sys/socket.h>
	#include <stdlib.h>
	#include <ctype.h>
	#include <errno.h>
	#include <unistd.h>
	#include <pthread.h>
	#include <sys/mman.h>
	#include <sys/wait.h>
	#include <semaphore.h>
	// -- #include <linux/in.h>
	 
	#include <errno.h>
	 
	#include <sys/mman.h>
	#include <sys/ioctl.h>	


#endif

#endif
